home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 406_01 / atoc / strtok.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-11-09  |  508 b   |  32 lines

  1. /* ANSI strtok( string, set ) */
  2.  
  3. #include <stdio.h>
  4.  
  5. char *strtok( s, set )
  6. char *s, *set;
  7. {
  8.     static char *cp;
  9.     char *rv;
  10.     char *strchr();
  11.  
  12.     /* initialize internal pointer if this is a fresh start */
  13.     if ( s )
  14.         cp = s;
  15.  
  16.     /* do next token if initialized ok and more to check */
  17.     if ( cp && *cp )
  18.     {
  19.         if ( set == NULL )
  20.             set = "";
  21.         rv = cp;
  22.         for ( ; *cp; ++cp )
  23.             if ( strchr( set, *cp ) )
  24.                 break;
  25.         if ( *cp )
  26.             *cp++ = '\0';
  27.         return( rv );
  28.     }
  29.  
  30.     return( NULL );
  31. }
  32.